import java.util.Scanner;
public class Main {

    public static int a(int fi,int th){
        return (fi + th) / 2;
    }

    public static int b(int fi,int th){
        return a(fi,th) - fi;
    }

    public static int c(int fi,int th,int se){
        return b(fi,th) - se;
    }

    public static boolean isTrue(int b,int c,int fi,int th,int se,int fo){
        return b(fi,th) + c(fi,th,se) == fo;
    }

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextInt()) {
            int first = in.nextInt();
            int second = in.nextInt();
            int third = in.nextInt();
            int forth = in.nextInt();
            int a = a(first,third);
            int b = b(first,third);
            int c = c(first,third,second);
            if(isTrue(b,c,first,third,second,forth)){
                System.out.print(a+" "+b+" "+c);
            }else{
                System.out.print("No");
            }
            
        }
    }
}